common.skill

অপারেটরস এবং এক্সপ্রেশন

Computer Programming - সি++ প্রোগ্রামিং (C++ Programming)
270
270

সি++ এ অপারেটর এবং এক্সপ্রেশনগুলি প্রোগ্রামিংয়ের মৌলিক অংশ, যা ডেটার উপর বিভিন্ন কার্যক্রম সম্পাদন করে। অপারেটর হলো একটি চিহ্ন বা সিম্বল যা একটি বা একাধিক অপার্যান্ডের সাথে কাজ করে এবং একটি নতুন মান প্রদান করে। এক্সপ্রেশন হলো অপারেটর এবং অপার্যান্ডগুলোর সংমিশ্রণ, যা একটি নতুন মান তৈরি করে।

অপারেটরস

সি++ এ বিভিন্ন ধরনের অপারেটর রয়েছে। নিচে প্রধান অপারেটরগুলোর বিস্তারিত আলোচনা করা হলো:

১. আরিথমেটিক অপারেটর

এই অপারেটরগুলি গাণিতিক গণনা করতে ব্যবহৃত হয়:

  • +: যোগ (Addition)
  • -: বিয়োগ (Subtraction)
  • *: গুণ (Multiplication)
  • /: ভাগ (Division)
  • %: মডুলাস (Modulus)

উদাহরণ:

int a = 10;
int b = 3;
int sum = a + b; // 13
int difference = a - b; // 7
int product = a * b; // 30
int quotient = a / b; // 3
int remainder = a % b; // 1

২. সম্পর্কিত অপারেটর

এই অপারেটরগুলি তুলনা করতে ব্যবহৃত হয়:

  • ==: সমান (Equal)
  • !=: সমান নয় (Not Equal)
  • >: বড় (Greater Than)
  • <: ছোট (Less Than)
  • >=: বড় বা সমান (Greater Than or Equal)
  • <=: ছোট বা সমান (Less Than or Equal)

উদাহরণ:

if (a > b) {
    std::cout << "a is greater than b";
}

৩. লজিক্যাল অপারেটর

এই অপারেটরগুলি লজিক্যাল তুলনা করতে ব্যবহৃত হয়:

  • &&: লজিক্যাল AND (Logical AND)
  • ||: লজিক্যাল OR (Logical OR)
  • !: লজিক্যাল NOT (Logical NOT)

উদাহরণ:

if (a > b && a > 5) {
    std::cout << "a is greater than b and greater than 5";
}

৪. বিটওয়াইজ অপারেটর

এই অপারেটরগুলি বিট স্তরে কাজ করে:

  • &: বিটওয়াইজ AND
  • |: বিটওয়াইজ OR
  • ^: বিটওয়াইজ XOR
  • ~: বিটওয়াইজ NOT
  • <<: বিট শিফট (Left Shift)
  • >>: বিট শিফট (Right Shift)

উদাহরণ:

int x = 5; // 0101 in binary
int y = 3; // 0011 in binary
int result = x & y; // 0001 in binary (1 in decimal)

৫. অ্যাসাইনমেন্ট অপারেটর

এই অপারেটরগুলি একটি ভ্যারিয়েবলে মান সেট করতে ব্যবহৃত হয়:

  • =: অ্যাসাইনমেন্ট
  • +=: অ্যাড এবং অ্যাসাইন
  • -=: সাবট্রাক্ট এবং অ্যাসাইন
  • *=: গুণ এবং অ্যাসাইন
  • /=: ভাগ এবং অ্যাসাইন
  • %=: মডুলাস এবং অ্যাসাইন

উদাহরণ:

int num = 5;
num += 3; // num is now 8

৬. ইনক্রিমেন্ট এবং ডেক্রিমেন্ট অপারেটর

  • ++: ইনক্রিমেন্ট (মান 1 বাড়ানো)
  • --: ডেক্রিমেন্ট (মান 1 কমানো)

উদাহরণ:

int count = 0;
count++; // count is now 1
count--; // count is now 0

এক্সপ্রেশন

এক্সপ্রেশন হলো অপারেটর এবং অপার্যান্ডগুলির সমন্বয়, যা একটি নতুন মান তৈরি করে। এটি সাধারণত একটি ভ্যালু উৎপন্ন করে। এক্সপ্রেশনগুলি হতে পারে সরল বা জটিল।

উদাহরণ:

  • সরল এক্সপ্রেশন:

int sum = a + b; // এখানে a + b একটি সরল এক্সপ্রেশন

  • জটিল এক্সপ্রেশন:
int result = (a + b) * (c - d) / e; // এখানে পুরো অংশটি একটি জটিল এক্সপ্রেশন

উপসংহার

সি++ এর অপারেটর এবং এক্সপ্রেশনগুলি প্রোগ্রামিংয়ের মৌলিক ভিত্তি। অপারেটরগুলির মাধ্যমে আপনি ডেটার উপরে বিভিন্ন কার্যক্রম সম্পাদন করতে পারেন, এবং এক্সপ্রেশনগুলির মাধ্যমে সেই কার্যক্রমের ফলাফল প্রাপ্ত হয়। এই ধারণাগুলির সঠিক ব্যবহার আপনাকে আরও কার্যকরী এবং দক্ষ প্রোগ্রাম তৈরি করতে সহায়তা করবে।

common.content_added_and_updated_by

আরিথমেটিক অপারেটরস

258
258

অ্যারিথমেটিক অপারেটরস হলো অপারেটরগুলি যা সংখ্যা বা সংখ্যাগুলির সাথে গাণিতিক কার্যক্রম (যেমন যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি) সম্পাদন করতে ব্যবহৃত হয়। C++ এ বেশ কয়েকটি সাধারণ অ্যারিথমেটিক অপারেটর রয়েছে, এবং এগুলি বিভিন্ন ধরনের গাণিতিক অপারেশনের জন্য ব্যবহৃত হয়। নিচে C++ এ ব্যবহৃত অ্যারিথমেটিক অপারেটরগুলোর তালিকা ও উদাহরণ দেওয়া হলো:

১. অপারেটরের তালিকা

অপারেটরনামউদাহরণবর্ণনা
+যোগa + bদুটি সংখ্যার যোগফল।
-বিয়োগa - bপ্রথম সংখ্যা থেকে দ্বিতীয় সংখ্যা বিয়োগ।
*গুণa * bদুটি সংখ্যার গুণফল।
/ভাগa / bপ্রথম সংখ্যা দ্বিতীয় সংখ্যায় ভাগ।
%মডুলাস (শেষাংশ)a % bপ্রথম সংখ্যার দ্বিতীয় সংখ্যার ভাগফল।

২. অ্যারিথমেটিক অপারেটরের ব্যবহার

এখানে একটি উদাহরণ দেওয়া হলো যাতে বিভিন্ন অ্যারিথমেটিক অপারেটর ব্যবহৃত হয়েছে:

#include <iostream>
using namespace std;

int main() {
    int a = 10;
    int b = 3;

    // যোগফল
    int sum = a + b;
    cout << "Sum: " << sum << endl; // Output: Sum: 13

    // বিয়োগফল
    int difference = a - b;
    cout << "Difference: " << difference << endl; // Output: Difference: 7

    // গুণফল
    int product = a * b;
    cout << "Product: " << product << endl; // Output: Product: 30

    // ভাগফল
    int quotient = a / b;
    cout << "Quotient: " << quotient << endl; // Output: Quotient: 3 (integer division)

    // মডুলাস
    int remainder = a % b;
    cout << "Remainder: " << remainder << endl; // Output: Remainder: 1

    return 0; // প্রোগ্রাম সফলভাবে শেষ হয়েছে
}

৩. গাণিতিক ফলাফল

  • যোগ (+): দুটি সংখ্যার যোগফল দেয়।
  • বিয়োগ (-): প্রথম সংখ্যার থেকে দ্বিতীয় সংখ্যাটি বিয়োগ করে।
  • গুণ (*): দুই সংখ্যার গুণফল দেয়।
  • ভাগ (/): প্রথম সংখ্যাকে দ্বিতীয় সংখ্যায় ভাগ করে। (গণনা করার সময় যদি ভগ্নাংশ থাকে তবে এটি পূর্ণ সংখ্যা ফেরত দেয়।)
  • মডুলাস (%): প্রথম সংখ্যার দ্বিতীয় সংখ্যায় ভাগফল হিসেবে অবশিষ্ট অংশ (শেষাংশ) প্রদান করে।

৪. ফ্লোটিং পয়েন্টের সঙ্গে অপারেশন

যদি কোনো অপারেশন ফ্লোটিং পয়েন্ট সংখ্যা (যেমন float বা double) নিয়ে কাজ করে, তাহলে তা সঠিক ভাগফল প্রদান করবে। উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    double a = 10.0;
    double b = 3.0;

    // ভাগফল
    double quotient = a / b;
    cout << "Quotient: " << quotient << endl; // Output: Quotient: 3.33333

    return 0; // প্রোগ্রাম সফলভাবে শেষ হয়েছে
}

৫. বিশেষ গাণিতিক অপারেশন

ইনক্রিমেন্ট (++): একটি ভ্যারিয়েবলের মান ১ বাড়ায়।

int x = 5;
x++; // x এর মান হবে 6

ডিক্রিমেন্ট (--): একটি ভ্যারিয়েবলের মান ১ কমায়।

int y = 5;
y--; // y এর মান হবে 4

সারসংক্ষেপ

অ্যারিথমেটিক অপারেটরগুলি C++ প্রোগ্রামিংয়ে গাণিতিক কার্যক্রম সম্পাদনের জন্য মৌলিক উপাদান। এগুলি ব্যবহার করে প্রোগ্রামাররা বিভিন্ন গাণিতিক সমস্যার সমাধান করতে সক্ষম হন। সঠিকভাবে অ্যারিথমেটিক অপারেটরগুলি ব্যবহার করা গেলে প্রোগ্রামের ফলাফল দ্রুত ও কার্যকরভাবে পাওয়া যায়।

 

common.content_added_by

রিলেশনাল অপারেটরস

228
228

রিলেশনাল অপারেটরস হলো অপারেটরগুলি যা দুটি ভ্যালু বা ভ্যারিয়েবলের মধ্যে সম্পর্ক যাচাই করার জন্য ব্যবহৃত হয়। এই অপারেটরগুলি ব্যবহার করে যাচাই করা যায় দুটি ভ্যালু সমান, বড়, ছোট, বা ভিন্ন কিনা। রিলেশনাল অপারেটরগুলির ফলাফল সবসময় একটি বুলিয়ান মান প্রদান করে—true অথবা false

রিলেশনাল অপারেটরগুলির তালিকা

অপারেটরনামউদাহরণবর্ণনা
==সমানa == bযদি a এবং b এর মান সমান হয়, তবে true
!=সমান নয়a != bযদি a এবং b এর মান সমান না হয়, তবে true
>বড়a > bযদি a এর মান b এর চেয়ে বড় হয়, তবে true
<ছোটa < bযদি a এর মান b এর চেয়ে ছোট হয়, তবে true
>=বড় অথবা সমানa >= bযদি a এর মান b এর চেয়ে বড় অথবা সমান হয়, তবে true
<=ছোট অথবা সমানa <= bযদি a এর মান b এর চেয়ে ছোট অথবা সমান হয়, তবে true

রিলেশনাল অপারেটরের ব্যবহার

রিলেশনাল অপারেটরগুলি সাধারণত শর্ত চেক করার জন্য ব্যবহৃত হয়, যেমন if, while এবং অন্যান্য কন্ডিশনাল স্টেটমেন্টে। নিচে রিলেশনাল অপারেটরের একটি উদাহরণ দেওয়া হলো:

#include <iostream>
using namespace std;

int main() {
    int a = 10;
    int b = 20;

    // সমান কিনা চেক করা
    if (a == b) {
        cout << "a and b are equal." << endl;
    } else {
        cout << "a and b are not equal." << endl;
    }

    // বড় অথবা ছোট চেক করা
    if (a > b) {
        cout << "a is greater than b." << endl;
    } else if (a < b) {
        cout << "a is less than b." << endl;
    }

    // বড় অথবা সমান চেক করা
    if (a >= b) {
        cout << "a is greater than or equal to b." << endl;
    } else {
        cout << "a is less than b." << endl;
    }

    return 0;
}

রিলেশনাল অপারেটর ব্যবহার করার কিছু নিয়ম:

  1. সমান (==) এবং সমান নয় (!=):
    • == ব্যবহার করা হয় দুটি ভ্যালু সমান কিনা যাচাই করার জন্য।
    • != ব্যবহার করা হয় দুটি ভ্যালু সমান নয় কিনা যাচাই করার জন্য।
  2. বড় (>) এবং ছোট (<):
    • > ব্যবহার করা হয় একটি ভ্যালু অন্যটির চেয়ে বড় কিনা যাচাই করার জন্য।
    • < ব্যবহার করা হয় একটি ভ্যালু অন্যটির চেয়ে ছোট কিনা যাচাই করার জন্য।
  3. বড় অথবা সমান (>=) এবং ছোট অথবা সমান (<=):
    • >= ব্যবহার করা হয় একটি ভ্যালু অন্যটির চেয়ে বড় অথবা সমান কিনা যাচাই করার জন্য।
    • <= ব্যবহার করা হয় একটি ভ্যালু অন্যটির চেয়ে ছোট অথবা সমান কিনা যাচাই করার জন্য।

রিলেশনাল অপারেটরের ফলাফল

রিলেশনাল অপারেটর ব্যবহার করার পর প্রোগ্রাম বুলিয়ান মান প্রদান করে, যা true (সত্য) বা false (মিথ্যা) হতে পারে। এই মানটি শর্ত হিসেবে পরবর্তী অপারেশন সম্পাদন করার জন্য ব্যবহৃত হয়।

#include <iostream>
using namespace std;

int main() {
    int x = 15, y = 10;

    cout << (x == y) << endl;  // Output: 0 (false)
    cout << (x != y) << endl;  // Output: 1 (true)
    cout << (x > y) << endl;   // Output: 1 (true)
    cout << (x < y) << endl;   // Output: 0 (false)
    cout << (x >= y) << endl;  // Output: 1 (true)
    cout << (x <= y) << endl;  // Output: 0 (false)

    return 0;
}

সারসংক্ষেপ

রিলেশনাল অপারেটরগুলি প্রোগ্রামিংয়ে বিভিন্ন শর্ত যাচাই করতে অত্যন্ত গুরুত্বপূর্ণ। এগুলি ব্যবহার করে ভ্যারিয়েবলের মধ্যে সম্পর্ক যাচাই করা যায়, যা প্রোগ্রামে বিভিন্ন সিদ্ধান্ত গ্রহণ এবং লজিক তৈরি করতে সহায়ক।

common.content_added_and_updated_by

লজিকাল অপারেটরস

249
249

লজিকাল অপারেটরস হল সেই অপারেটরগুলো যা এক বা একাধিক শর্তের মধ্যে লজিক্যাল সম্পর্ক স্থাপন করতে ব্যবহৃত হয়। C++ এ লজিকাল অপারেটরগুলি সাধারণত Boolean মান (true/false) নিয়ে কাজ করে এবং শর্তযুক্ত বিবৃতিতে ব্যবহৃত হয়।

C++ এ লজিকাল অপারেটরস

সি++ এ প্রধানত তিনটি লজিকাল অপারেটর রয়েছে:

অপারেটরনামউদাহরণবর্ণনা
&&ANDa && bদুটি শর্তই সত্য হলে সত্য।
||ORa || bযেকোনো একটি শর্ত সত্য হলে সত্য।
!NOT!aশর্তের বিপরীত মান প্রদান করে।

১. লজিকাল AND (&&)

লজিকাল AND অপারেটর (&&) ব্যবহার করে দুটি শর্তের মধ্যে AND সম্পর্ক স্থাপন করা হয়। যখন উভয় শর্ত সত্য হয়, তখন ফলস্বরূপ সত্য হবে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    bool a = true;
    bool b = false;

    if (a && b) {
        cout << "Both are true." << endl; // এই লাইনটি প্রিন্ট হবে না
    } else {
        cout << "At least one is false." << endl; // Output: At least one is false.
    }

    return 0;
}

২. লজিকাল OR (||)

লজিকাল OR অপারেটর (||) ব্যবহার করে দুটি শর্তের মধ্যে OR সম্পর্ক স্থাপন করা হয়। যখন কমপক্ষে একটি শর্ত সত্য হয়, তখন ফলস্বরূপ সত্য হবে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    bool a = true;
    bool b = false;

    if (a || b) {
        cout << "At least one is true." << endl; // Output: At least one is true.
    } else {
        cout << "Both are false." << endl;
    }

    return 0;
}

৩. লজিকাল NOT (!)

লজিকাল NOT অপারেটর (!) ব্যবহার করে একটি শর্তের মানের বিপরীত প্রদান করা হয়। যদি শর্তটি সত্য হয়, তবে NOT অপারেটর এটি মিথ্যা করে এবং উল্টোভাবে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    bool a = true;

    if (!a) {
        cout << "a is false." << endl; // এই লাইনটি প্রিন্ট হবে না
    } else {
        cout << "a is true." << endl; // Output: a is true.
    }

    return 0;
}

৪. লজিকাল অপারেটরের ব্যবহার

লজিকাল অপারেটরগুলি শর্তাধীন বিবৃতিতে ব্যবহৃত হয় এবং সাধারণত if এবং while স্টেটমেন্টের মধ্যে ব্যবহৃত হয়। নিচে একটি উদাহরণ দেয়া হলো যেখানে সব তিনটি লজিকাল অপারেটর ব্যবহৃত হয়েছে:

#include <iostream>
using namespace std;

int main() {
    int age = 20;
    bool hasPermission = true;

    if (age >= 18 && hasPermission) {
        cout << "Access granted." << endl; // Output: Access granted.
    } else {
        cout << "Access denied." << endl;
    }

    if (age < 18 || !hasPermission) {
        cout << "You cannot access." << endl;
    }

    return 0;
}

সারসংক্ষেপ

লজিকাল অপারেটরস (AND, OR, NOT) C++ এ শর্তাবলী যাচাই করার জন্য ব্যবহৃত হয়। এগুলি একাধিক শর্তকে একত্রে যুক্ত করার এবং শর্তগুলোর সত্যতা যাচাই করার জন্য অত্যন্ত কার্যকর। সঠিকভাবে লজিকাল অপারেটর ব্যবহার করার মাধ্যমে প্রোগ্রামাররা জটিল শর্তাবলী নির্মাণ করতে পারেন, যা তাদের কোডকে আরও কার্যকরী এবং সৃজনশীল করে তোলে।

common.content_added_and_updated_by

বিটওয়াইজ অপারেটরস

209
209

বিটওয়াইজ অপারেটরস হল সেই অপারেটরগুলো যা সরাসরি বিটের স্তরে কাজ করে। C++ এ বিটওয়াইজ অপারেটরগুলি বিভিন্ন বিট-লেভেল অপারেশনের জন্য ব্যবহৃত হয়। এগুলি সংখ্যার বাইনারি প্রতিনিধিত্বের উপর ভিত্তি করে কাজ করে এবং কম্পিউটিংয়ে খুবই গুরুত্বপূর্ণ, বিশেষ করে মেমোরি ম্যানেজমেন্ট এবং অপ্টিমাইজেশনের ক্ষেত্রে।

C++ এ বিটওয়াইজ অপারেটরস

সি++ এ বেশ কিছু বিটওয়াইজ অপারেটর রয়েছে, যেগুলো নিচে উল্লেখ করা হলো:

অপারেটরনামউদাহরণবর্ণনা
&ANDa & bউভয় বিট ১ হলে ১।
|OR a । bযেকোনো একটি বিট ১ হলে বিট ১ হয়
^XORa ^ bদুই বিট ভিন্ন হলে ১।
~NOT~aপ্রতিটি বিট বিপরীত করে।
<<বিট শিফট বামেa << 2বিটগুলোকে বামে সরায় এবং শূন্য পূরণ করে।
>>বিট শিফট ডানেa >> 2বিটগুলোকে ডানে সরায় এবং শূন্য পূরণ করে।

১. বিটওয়াইজ AND (&)

বিটওয়াইজ AND অপারেটর প্রতিটি বিটের উপর AND অপারেশন করে। কেবলমাত্র উভয় বিট ১ হলে ফলস্বরূপ বিট ১ হয়, অন্যথায় ০ হয়।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int b = 3;    // 0011
    int result = a & b; // 0001 = 1
    cout << "a & b: " << result << endl; // Output: a & b: 1
    return 0;
}

২. বিটওয়াইজ OR (|)

বিটওয়াইজ OR অপারেটর প্রতিটি বিটের উপর OR অপারেশন করে। যেকোনো একটি বিট ১ হলে ফলস্বরূপ বিট ১ হয়।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int b = 3;    // 0011
    int result = a | b; // 0111 = 7
    cout << "a | b: " << result << endl; // Output: a | b: 7
    return 0;
}

৩. বিটওয়াইজ XOR (^)

বিটওয়াইজ XOR অপারেটর প্রতিটি বিটের উপর XOR অপারেশন করে। দুই বিট ভিন্ন হলে ফলস্বরূপ বিট ১ হয়, অন্যথায় ০ হয়।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int b = 3;    // 0011
    int result = a ^ b; // 0110 = 6
    cout << "a ^ b: " << result << endl; // Output: a ^ b: 6
    return 0;
}

৪. বিটওয়াইজ NOT (~)

বিটওয়াইজ NOT অপারেটর একটি সংখ্যা বা ভ্যারিয়েবলের প্রতিটি বিট উল্টো করে। অর্থাৎ ১ কে ০ এবং ০ কে ১ করে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int result = ~a; // 1010 (বাইনারি)
    cout << "~a: " << result << endl; // Output: ~a: -6 (দুইয়ের পরিপূরক)
    return 0;
}

বিঃদ্রঃ: বিটওয়াইজ NOT অপারেটরের আউটপুটে সংখ্যা নেগেটিভ হতে পারে কারণ এটি দুইয়ের পরিপূরক নোটেশনে কাজ করে।

৫. বিট শিফট বামে (<<)

বিট শিফট অপারেটর বামে << ব্যবহার করে একটি সংখ্যা নির্দিষ্ট সংখ্যক বিট বামে সরায়। প্রতিটি শিফটে ডানে শূন্য পূরণ করে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int result = a << 1; // 1010 = 10
    cout << "a << 1: " << result << endl; // Output: a << 1: 10
    return 0;
}

৬. বিট শিফট ডানে (>>)

বিট শিফট অপারেটর ডানে >> ব্যবহার করে একটি সংখ্যা নির্দিষ্ট সংখ্যক বিট ডানে সরায়। প্রতিটি শিফটে বামে শূন্য পূরণ করে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int result = a >> 1; // 0010 = 2
    cout << "a >> 1: " << result << endl; // Output: a >> 1: 2
    return 0;
}

সারসংক্ষেপ

বিটওয়াইজ অপারেটরস C++ প্রোগ্রামিংয়ে সরাসরি বিট লেভেলে কাজ করার জন্য ব্যবহৃত হয়। এগুলো মেমোরি ম্যানেজমেন্ট, কম্পিউটিং পারফরম্যান্স অপটিমাইজেশন, এবং দ্রুত গাণিতিক অপারেশনের জন্য অত্যন্ত কার্যকরী। বিটওয়াইজ অপারেটরস প্রোগ্রামারদেরকে প্রোগ্রামের আরও বেশি নিয়ন্ত্রণ এবং দক্ষতা প্রদান করে, যা জটিল সমস্যা সমাধানে সহায়ক।

common.content_added_and_updated_by

অ্যাসাইনমেন্ট এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরস

225
225

অ্যাসাইনমেন্ট এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরস C++ প্রোগ্রামিং ভাষায় ভ্যারিয়েবলগুলোর মান সেট, বৃদ্ধি, বা হ্রাস করতে ব্যবহৃত হয়। এগুলি প্রোগ্রামিংয়ের সবচেয়ে সাধারণ এবং গুরুত্বপূর্ণ অপারেটর।

অ্যাসাইনমেন্ট অপারেটরস

অ্যাসাইনমেন্ট অপারেটরস ভ্যারিয়েবলে মান অ্যাসাইন বা সেট করতে ব্যবহৃত হয়। C++ এ বিভিন্ন ধরনের অ্যাসাইনমেন্ট অপারেটর রয়েছে।

সাধারণ অ্যাসাইনমেন্ট অপারেটর (=)

সাধারণ অ্যাসাইনমেন্ট অপারেটর = ব্যবহার করে একটি ভ্যারিয়েবলে একটি নির্দিষ্ট মান সেট করা হয়।

int x = 5; // x এ ৫ অ্যাসাইন করা হয়েছে

অন্যান্য অ্যাসাইনমেন্ট অপারেটরস

অপারেটরউদাহরণসমতুল্যবর্ণনা
+=x += 5;x = x + 5;x এর সাথে ৫ যোগ করে ফলাফলটি x এ অ্যাসাইন করে।
-=x -= 5;x = x - 5;x থেকে ৫ বিয়োগ করে ফলাফলটি x এ অ্যাসাইন করে।
*=x *= 5;x = x * 5;x এর সাথে ৫ গুণ করে ফলাফলটি x এ অ্যাসাইন করে।
/=x /= 5;x = x / 5;x কে ৫ দিয়ে ভাগ করে ফলাফলটি x এ অ্যাসাইন করে।
%=x %= 5;x = x % 5;x কে ৫ দিয়ে ভাগ করে অবশিষ্টাংশটি x এ অ্যাসাইন করে।

উদাহরণ

#include <iostream>
using namespace std;

int main() {
    int x = 10;
    x += 5; // x = x + 5; এখন x এর মান 15
    cout << "x += 5: " << x << endl;

    x -= 3; // x = x - 3; এখন x এর মান 12
    cout << "x -= 3: " << x << endl;

    x *= 2; // x = x * 2; এখন x এর মান 24
    cout << "x *= 2: " << x << endl;

    x /= 4; // x = x / 4; এখন x এর মান 6
    cout << "x /= 4: " << x << endl;

    x %= 5; // x = x % 5; এখন x এর মান 1
    cout << "x %= 5: " << x << endl;

    return 0;
}

ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটরস

ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটরস ভ্যারিয়েবলের মান ১ করে বাড়ানো বা কমানোর জন্য ব্যবহৃত হয়। এই অপারেটর দুটি প্রকারে বিভক্ত হয়:

  1. প্রি-ইনক্রিমেন্ট/প্রি-ডিক্রিমেন্ট (++x / --x)
  2. পোস্ট-ইনক্রিমেন্ট/পোস্ট-ডিক্রিমেন্ট (x++ / x--)

ইনক্রিমেন্ট অপারেটর (++)

ইনক্রিমেন্ট অপারেটর একটি ভ্যারিয়েবলের মান ১ বাড়ায়।

  • প্রি-ইনক্রিমেন্ট (++x): প্রি-ইনক্রিমেন্টে, প্রথমে ভ্যারিয়েবলের মান ১ বাড়ানো হয়, তারপর সেটি ব্যবহৃত হয়।
  • পোস্ট-ইনক্রিমেন্ট (x++): পোস্ট-ইনক্রিমেন্টে, প্রথমে ভ্যারিয়েবলের মান ব্যবহৃত হয়, তারপর সেটি ১ বাড়ানো হয়।
int x = 5;
cout << ++x; // প্রি-ইনক্রিমেন্ট, প্রথমে x এর মান ৬ হবে, তারপর এটি প্রিন্ট হবে।
cout << x++; // পোস্ট-ইনক্রিমেন্ট, প্রথমে x এর মান প্রিন্ট হবে ৬, তারপর এটি ৭ হবে।

ডিক্রিমেন্ট অপারেটর (--)

ডিক্রিমেন্ট অপারেটর একটি ভ্যারিয়েবলের মান ১ কমায়।

  • প্রি-ডিক্রিমেন্ট (--x): প্রথমে ভ্যারিয়েবলের মান ১ কমানো হয়, তারপর সেটি ব্যবহৃত হয়।
  • পোস্ট-ডিক্রিমেন্ট (x--): প্রথমে ভ্যারিয়েবলের মান ব্যবহৃত হয়, তারপর সেটি ১ কমানো হয়।
int y = 5;
cout << --y; // প্রি-ডিক্রিমেন্ট, প্রথমে y এর মান ৪ হবে, তারপর এটি প্রিন্ট হবে।
cout << y--; // পোস্ট-ডিক্রিমেন্ট, প্রথমে y এর মান প্রিন্ট হবে ৪, তারপর এটি ৩ হবে।

উদাহরণ

#include <iostream>
using namespace std;

int main() {
    int a = 10;

    cout << "Original value of a: " << a << endl;

    cout << "Pre-Increment (++a): " << ++a << endl; // প্রি-ইনক্রিমেন্ট
    cout << "Post-Increment (a++): " << a++ << endl; // পোস্ট-ইনক্রিমেন্ট
    cout << "Value after Post-Increment: " << a << endl;

    cout << "Pre-Decrement (--a): " << --a << endl; // প্রি-ডিক্রিমেন্ট
    cout << "Post-Decrement (a--): " << a-- << endl; // পোস্ট-ডিক্রিমেন্ট
    cout << "Value after Post-Decrement: " << a << endl;

    return 0;
}

সারসংক্ষেপ

  • অ্যাসাইনমেন্ট অপারেটর ভ্যারিয়েবলে মান অ্যাসাইন করতে ব্যবহৃত হয়, যেমন =, +=, -=, ইত্যাদি।
  • ইনক্রিমেন্ট অপারেটর (++) ভ্যারিয়েবলের মান ১ বাড়ায়।
  • ডিক্রিমেন্ট অপারেটর (--) ভ্যারিয়েবলের মান ১ কমায়।
  • প্রি-ইনক্রিমেন্ট/প্রি-ডিক্রিমেন্টে প্রথমে মান পরিবর্তিত হয়, পরে সেটি ব্যবহৃত হয়।
  • পোস্ট-ইনক্রিমেন্ট/পোস্ট-ডিক্রিমেন্টে প্রথমে মান ব্যবহৃত হয়, পরে সেটি পরিবর্তিত হয়।

এই অপারেটরগুলো সঠিকভাবে ব্যবহার করা গেলে প্রোগ্রামে গণনা, পুনরাবৃত্তি, এবং ডেটা ম্যানিপুলেশনের কাজ সহজ এবং কার্যকরী হয়।

common.content_added_and_updated_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion